<?php

class Servicio_controller extends Base_controller 
{
	function __construct($registry)
	{
		parent::__construct($registry);
		
		$this->registry->tipo_servicio_model = new Tipo_servicio_model();
		$this->registry->tecnico_tipo_servicio_model = new Tecnico_tipo_servicio_model();
	}
	
	public function index() 
	{	
		$this->registry->template->lista_servicios = $this->registry->tipo_servicio_model->getAll();
		$this->registry->template->view = 'gestion_servicio';
		$this->registry->template->show('layout');  
	}
	
	function validar($nombreServicio)
	{			
		$servicio = $this->registry->tipo_servicio_model->getByNombre($nombreServicio);
		
		if (empty($servicio))
		{
			return true;
		}
		else return false;	
	}
	
	function guardar()
	{
		$nombreServicio = $_REQUEST['nombre_servicio'];

		
		$status = $this->validar($nombreServicio);

		if ($status){
			$this->registry->tipo_servicio_model->nombre = $nombreServicio;
			$this->registry->tipo_servicio_model->insert();
		}
		
		$arrayToJs = $this->generarRespuesta($status);
		
		echo json_encode($arrayToJs);
	}
	
	
	function generarRespuesta($status)
	{
		$arrayToJs = array();
		$arrayToJs[0] = array();
		$validateErrorMsj = '';
		
		if (!$status){
			$validateErrorMsj = "El Servicio ya se encuetra en los registros.";
		}
		
		
		$arrayToJs[0][0] = 'nombre_servicio';
		$arrayToJs[0][1] = $status;
		$arrayToJs[0][2] = $validateErrorMsj;	

		return $arrayToJs;
	}
	
	function borrar($idServicio)
	{		
			if ($this->registry->tecnico_tipo_servicio_model->getTecnicosByTipoYNombre($idServicio, null) == null){
				$this->registry->tipo_servicio_model->delete($idServicio);
			}
			else{
				$servicio = $this->registry->tipo_servicio_model->get($idServicio);
				$nombreServicio = $servicio['nombre'];
				$this->registry->template->mensaje_error = "El Servicio $nombreServicio no se puede eliminar.";
			}
			$this->index();
	}
}

?>